#ifndef MUSICLIST_H
#define MUSICLIST_H
#include "musicfile.h"
#include <QUrl>
#include <QVector>

// 定义一个迭代器类型，用于遍历音乐列表
typedef QVector<musicFile>::iterator iterator;

class musicList
{
public:
    // 构造函数，使用默认构造函数
    musicList() = default;
    // 通过URL添加音乐文件
    void addMusicByUrl(const QList<QUrl> &music_urls);
    // 将音乐数据写入数据库
    void writeToDB();
    // 从数据库读取音乐数据
    void readFromDB();
    // 根据音乐ID查找音乐
    iterator findMusicByMusicId(const QString &music_id);
    // 获取音乐列表起始迭代器
    iterator begin();
    // 获取音乐列表结束迭代器
    iterator end();
    ~musicList() = default;

private:
    QVector<musicFile> music_list_; // 音乐文件列表，用于存储多个音乐文件对象
};

#endif // MUSICLIST_H